Skip to content

SEP 14 -- 统一工程模板与服务框架

Head

  • Author: larry
  • Type: Standards
  • Created: 2017-01-30

摘要

微服务架构下,工程越来越多,需要统一模板,以便保持风格一致,同时也需要对现在的commonbaseview做重新设计。

服务工程模板

  1. 统一风格的配置文件。
  2. SQL ORM。sqlalchemy与django。
  3. logging,具备我们要求的log格式。
  4. 其他常见功能:celery,email等。
  5. 工程部署用虚拟环境。
  6. 包含完整的requirement.txt文件。
  7. 完备的指引说明文档,或者用Cookiecutter做一个参数化的命令去初始化工程。

工程模板需要做成可升级的版本化发布。

BaseView

  1. 统一业务代码处理模板,提供check param, process, output三种模板函数,强制代码风格一致化。
  2. 具备参数模式校验功能,用jsonschema方式。
  3. 参数处理具备别名功能。编写常用字段名称建议,用别名去兼容历史字段名。
  4. mysql session放到baseview中统一设计,使得跨函数session的处理方式一致化。
  5. 输入输出处理更加模式化,业务不需要再通过返回jsonresponse的方式来提交返回,以便框架对输入输出有更多的处理能力。
  6. 统一的错误处理规范、统一的异常体系。error_user, error, code。
  7. 接口文档可从模板中自动生成,数据库文档从db中自动生成。

baseview需要放到lib中去发布使用,不允许业务代码随意修改。